package com.triones.api.mapper.interlace;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.mapper.BaseMapperPlus;
import com.triones.api.entity.interlace.dto.InterlaceInfinityCardDO;
import com.triones.api.entity.interlace.vo.CustomInterlaceCardTransactionVO;
import com.triones.api.entity.interlace.vo.CustomInterlaceInfinityCardVO;
import com.triones.api.entity.interlace.vo.InterlaceCardApplyVO;
import com.triones.api.entity.interlace.vo.InterlaceInfinityCardVO;
import org.apache.ibatis.annotations.Param;

/**
 * interlace用户银行卡
 */
public interface InterlaceInfinityCardMapper extends BaseMapperPlus<InterlaceInfinityCardMapper, InterlaceInfinityCardDO, InterlaceInfinityCardVO> {

    /**
     * 卡列表（分页）
     * @param build
     * @param wrapper
     * @return
     */
    Page<CustomInterlaceInfinityCardVO> selectPageList(@Param("page") Page<Object> build,@Param(Constants.WRAPPER) QueryWrapper<Object> wrapper);

    /**
     * 卡申请列表（分页）
     * @param build
     * @param wrapper
     * @return
     */
    Page<InterlaceCardApplyVO> selectApplyPageList(@Param("page") Page<Object> build,@Param(Constants.WRAPPER) QueryWrapper<Object> wrapper);

    /**
     * 卡交易列表（分页）
     * @param build
     * @param wrapper
     * @return
     */
    Page<CustomInterlaceCardTransactionVO> selectTransactionPageList(@Param("page") Page<Object> build,@Param(Constants.WRAPPER) QueryWrapper<Object> wrapper);

    /**
     * 卡交易详情
     * @param id
     * @return
     */
    CustomInterlaceCardTransactionVO getTransactionDetail(@Param("id") Long id);
}
